The present invention pertains, in general, to computer networks and telephone systems, and more specifically, to a system and method for controlling telephone systems through a computer network, using an Internet browser. This invention is applicable to both digital, packet-based telephone networks, and to those which utilize traditional, analog, voice-transmission technology.
When computer telephony technology emerged in the late 1980""s, the primary goal was to provide users with control of the telephony network through software. The traditional computer telephony applications consisted of voice-mail and auto attendants. Notwithstanding, as the technology developed, users began to demand control over the telephony network at the desktop. The first type of desktop computer telephony solutions were basic xe2x80x9cscreen popxe2x80x9d applications. These applications were designed to receive the caller""s telephone number, to retrieve information from a customer/contact database using that number, and, finally, to display associated caller information on the desktop screen.
More recently, call control applications have been developed which simplify the usability of the telephone, for example, by performing complex tasks like transferring and conferencing. To date, call control applications are available for specific desktop platforms only, thus, their usefulness is limited throughout the enterprise, and, more importantly, is limited to the local area network. Moreover, systems involving xe2x80x9ccall transferringxe2x80x9d do not provide the recipient/client with the option of placing the call on hold, putting it into voice mail, etc.
Further, when a user originates a call from a foreign country or domestic hotelxe2x80x94either of which impose surcharges on callsxe2x80x94services such as International callback, and thus high pre-paid costs, may be required. In addition, the multitude of cumbersome DTMF entries, upwards of 30 digits, may also be necessary.
Thus, the present invention is directed to addressing the deficiencies of the prior work discussed above, and specifically, this invention provides the ability to offer call control for both (a) local area network, and (b) the Internet, independent of computer platform, and further to provide the user with the option of manipulating the call, such as by placing it on hold, putting it into voice mail, etc. Users of this invention may also simply click a button to enter a phone number for dialing.
To attain the primary objective, the present invention provides a system and method for controlling calls through a web browser, by utilizing TCP/IP sockets to send packet data between client and server, for the purpose of directing the telephone network. The system comprises a server based telephone module which comprises a Telephony Server, connected to the computer network, provides the interface between client software elements which attempt to control telephone call and telephone equipment. This Telephony Server may be integrated with either external telephone equipment, or with an integral telephone switch. Connectivity to the computer network from the Telephony Server is required to receive commands and/or to send events to a client on the network.
The Telephony Server must include the following software elements: (1) a Telephony Integration Module (TIM) designed to integrate with a telephone system for the purpose of monitoring and control of the telephone network; (2) a Web Server capable of presenting a lightweight user interface over HTML to the client; (3) an Event Server designed to receive events from the TIM, and to pass them to the client; and (4) a Call Control Module capable of receiving commands passed by the client, then sending them to the TIM.
The software-based Telephony Integration Module (TIM) may include hardware necessary to control a Central Office Switch, PBX, Key System, Packet Switch; or, may be integrated with a communications server. The details of such integration, and how it is accomplished, is not pertinent to the definition of this invention. This invention presumes that a layer of software exists on a computer system that is both capable of providing real-time events occurring on the telephone system, and capable of providing direct telephone-call control.
The PC-based Telephony Server can be integrated into many different telecommunications environments. Some of the most commonly used are described below:
Stand-alone: The simplest configuration, phone lines from the phone company are connected directly to the Telephony Server
Behind a PBX: The most usual configuration for a Telephony Server in a business environment. The Telephony Server will be connected as one or more extension in a group attached to the company telephone system.
In front of a PBX: This situation allows the Telephony Server to intercept a call before it is passed through to a conventional PBX.
The system further comprises a client based module which comprises client software (which in the preferred embodiment is based on a cross-platform compatible language, and in an especially preferred embodiment, is Java based) that is downloaded, then executed within the environment of a web browser, providing connection to the Telephony Server. As events occur on the telephone network, the Event Server communicates to the client, which then responds with a request to the Web Server for an updated web page. By this mechanism, the need for dynamic HTML is eliminated, thus, support for many different client types is possible.
This invention assumes a specialized computing hardware platform. The voice processing industry is built around one fundamental component: the voice board. A voice board, also called a speech card, is an IBM PC or AT compatible expansion card, which can perform voice-processing functions. Dialogic, Natural Micro Systems and Pika Techonolgies provide these types of boards. These voice-processing boards can be installed in a standard PC server.
Thus, the present invention contemplates a system and method for controlling phone calls through Telephony Server and a cross platform enabling internet browser module on the PC/client side for controlling telephone calls with real time display and user directories comprising:
(1) A software-based telephone switch or a computer telephony server with the capability to integrate with an external telephone network.
(2) A web server capable of delivering text and graphic pages over a TCP/IP based network connection.
(3) A server side TCP/IP component that connects to the computer telephony server and provides events and enables call control to the client TCP/IP component. The client server TCP/IP connection is established and maintained through an outbound socket and inbound socket.
(4) A client side cross platform enabled component that connects to the server in to provide real-time client display as events on the server occurs.